package com.mmall.product.service;

import com.mmall.common.base.BooleanResult;
import com.mmall.common.base.PageResult;
import com.mmall.pojo.param.AddProductParam;
import com.mmall.pojo.param.ProductPageParam;
import com.mmall.pojo.param.UpdateProductParam;
import com.mmall.pojo.vo.ProductVo;

/**
 * 商品服务
 *
 * @author: gg
 * @date: 2018/12/10 17:33
 */
public interface ProductService {

    /**
     * 添加商品
     *
     * @param addProductParam AddProductParam
     * @return ProductEntity
     */
    ProductVo add(AddProductParam addProductParam);

    /**
     * 分页查询
     *
     * @param productPageParam ProductPageParam
     * @return PageResult
     */
    PageResult page(ProductPageParam productPageParam);

    /**
     * 商品详情
     *
     * @param id 商品id
     * @return ProductVo
     */
    ProductVo detail(Long id);

    /**
     * 删除
     *
     * @param id 商品id
     * @return BooleanResult
     */
    BooleanResult del(Long id);

    /**
     * 编辑商品
     *
     * @param updateProductParam UpdateProductParam
     * @return ProductVo
     */
    ProductVo update(UpdateProductParam updateProductParam);
}
